package com.yingside.collection;

import java.util.Iterator;
import java.util.LinkedList;
import java.util.Queue;
public class TestQueue {
    public static void main(String[] args) {
        Queue<String> queue = new LinkedList<>();
        queue.offer("aaa");
        queue.add("bbb");
        queue.add("ccc");
        queue.add("ddd");

        System.out.println("==============队列加入==============");

        Iterator<String> iterator = queue.iterator();
        while(iterator.hasNext()){
            String next = iterator.next();
            System.out.println("next = " + next);
        }

        //栈 入栈push 出栈 pop 顶栈 peek
        //队列 入队 offer 出队poll 顶队 peek

        queue.poll();

        System.out.println("==============队列出队之后==============");

        //注意迭代器是不断的向下指向有没有下一个
        //那么这里前面已经循环到最后了，继续循环其实已经没有下一个了
        //所以必须重置迭代器，但是，java没有重置迭代器的方法
        //所以，要重置迭代器，我们重新给迭代器赋值就可以了
        iterator = queue.iterator();
        while(iterator.hasNext()){
            String next = iterator.next();
            System.out.println("next = " + next);
        }
    }
}
